package com.yf.memoryleak;

import java.util.ArrayList;
import java.util.List;

/*
静态集合类，如HashMap, LinkedList等等。
如果这些容器为静态的，那么它们的生命周期与类一致，直到类卸载才会被释放，而类的生命周期通常与JVM程序一致，
则容器中的对象在程序结束之前将不能被释放，从而造成内存泄漏。
简而言之，长生命周期的对象持有短生命周期对象的引用，会导致短生命周期对象不能被回收。
 */
public class StaticCollection {
    static List list = new ArrayList<Object>();

    public void test() {
        Object obj = new Object();
        list.add(obj);
    }
}
